1. Field of the Invention
The present invention relates to techniques for transmitting video information or the like through communication lines.
2. Description of the Related Art
With the recent development of communication systems, it has become common that live video images captured by cameras and recorded moving video images are viewed through communication lines such as the Internet. In addition, the recent price reduction of wireless communication devices and increase in the capacity of communication lines provide opportunities for viewing moving image data even in houses and offices using devices connected to networks.
Such moving image data often has a large data amount per unit time. Communication protocols such as RTP (Real-time Transport Protocol) (RFC 3550, The Internet Society) have been used to view images of moving image data having high real-time characteristics such as live video for a long time period.
In real-time communication using communication protocols such as RTP, in general, the data reliability may not be sufficient. On the other hand, lower-layer protocols such as UDP/IP, which are relatively simple and may increase communication speed, are also used. Thus, the use of UDP/IP is highly expected, if not assumed, in RTP.
Although UDP/IP or the like is suitable for real-time transmission, it has a problem of frequent occurrence of errors such as packet loss. The occurrence of an error is likely to result in loss of a part of moving image data. To address this, various techniques have been developed.
For example, there is a technique which has been implemented in which compressed (encoded) moving image data is configured so that a range of data on which an error has an effect is limited at the time of encoding. There is also a technique in which the loss of moving image data due to an error is configured to have less effect on a played back image to be displayed. In addition, from a viewpoint of communication facilities, communication lines with increased reliability have been proposed, which reduces error rates under certain conditions.
On the other hand, recovering from an error which has already occurred is also important. A typical example of techniques of error recovery is monitoring systems using live video, in which moving images captured by cameras are monitored in real time from remote locations while monitoring results are stored.
Techniques have been proposed with a view to recovering from existing errors. For example, Japanese Patent Laid-Open No. H5-145594 discloses a real-time communication apparatus in which a communication channel prepared particularly for real-time processing and a communication cannel prepared for retransmission of erroneous data in case of error occurrence are selectively used.
However, such a technique using a plurality of communication lines may cause an error and a transmission delay due to an increase in the amount of data flowing over a communication line used for retransmission of data corresponding to erroneous data. To address this problem, for example, Japanese Patent Laid-Open No. H10-313350 discloses a communication system in which a plurality of channels are used and retransmission of data corresponding to erroneous data is scheduled to start after normal data transmission is completed.
In addition, Japanese Patent Laid-Open No. 2002-199019 discloses a communication control apparatus in which real-time applicability and data reliability are considered in the framework of playback application and storage application, respectively. Specifically, in this apparatus, UDP (User Datagram Protocol) prepared for playback and TCP (Transmission Control Protocol) prepared for storage are selectively used to prevent occurrence of an error. Further, Japanese Patent Laid-Open No. 2000-151680 discloses a communication apparatus in which switching of the communication protocol used for data transmission is performed when an error occurs, from UDP to TCP, which provides low real-time performance while having high data transmission reliability.
However, the techniques described above has a disadvantage in that two types of communication line, i.e., a communication line for playback which gives preference to real-time performance and thus has low data transmission reliability and a communication line for storage (communication line for retransmission for error recovery) which has low real-time performance and thus has high data transmission reliability, have to be prepared.
If these two communication lines are physically integrated into a single communication line, simultaneous use of the communication line for playback and the communication line for storage may result in an increase in communication traffic and an increase in the error rate. Thus, when an error occurs during data transmission, it is difficult for a receiving terminal to acquire data corresponding to erroneous data adaptively in accordance with the situation.
One solution to the above problem may be a method in which the two communication lines are not simultaneously used and a communication line for playback detects an error while receiving playback data. In this method, when an error is detected, a communication line for storage (erroneous data retransmission communication line) requests retransmission of data corresponding to erroneous data after the reception of the playback data is completed.
However, if this method is implemented, it is necessary to specify the erroneous part of data by strictly managing communication connections and to switch the communication line to a communication line having high data transmission reliability for retransmitting data corresponding to the erroneous data. In the case of moving image data such as live data for which real-time processing is required, it is necessary to retain the moving image data at a transmission terminal until communication is completed to prepare retransmission of data corresponding to the erroneous data. Thus, when an error is detected, it may not be possible to playback the moving image data in a receiving terminal until data corresponding to erroneous data is retransmitted, and thus real-time playback of the moving data is not permitted.
Further, when, in the case of error detection, switching of communication line from the communication line for playback with high real-time performance to the communication line for storage with high data transmission reliability is performed, it is necessary to determine the occurrence of an error in a very short time and perform switching of the communication line instantly. Thus, failure of instant error detection and switching of the communication line may result in a significant time loss due to error recovery. In addition, since a communication line with low real-time performance is used after the switching of the communication line, implementation of the above method does not provide sufficient real-time performance in data transmission.